// pages/profile/profile.js
const app = getApp()

Page({
  data: {
    userInfo: null,
    isLoading: false
  },

  onLoad() {
    this.setData({
      userInfo: app.globalData.userInfo
    })
  },

  onShow() {
    this.setData({
      userInfo: app.globalData.userInfo
    })
  },

  // 获取用户信息
  getUserProfile() {
    wx.getUserProfile({
      desc: '用于完善会员资料',
      success: (res) => {
        this.updateUserInfo({
          nickname: res.userInfo.nickName,
          avatar_url: res.userInfo.avatarUrl
        })
      }
    })
  },

  // 更新用户信息
  updateUserInfo(data) {
    app.request('/users/profile', 'PUT', data)
      .then(res => {
        app.globalData.userInfo = { ...app.globalData.userInfo, ...data }
        this.setData({
          userInfo: app.globalData.userInfo
        })
        wx.showToast({
          title: '更新成功',
          icon: 'success'
        })
      })
      .catch(err => {
        wx.showToast({
          title: '更新失败',
          icon: 'error'
        })
      })
  },

  // 查看我的打卡记录
  viewMyRecords() {
    wx.navigateTo({
      url: '/pages/records/records'
    })
  },

  // 设置
  goToSettings() {
    wx.navigateTo({
      url: '/pages/settings/settings'
    })
  },

  // 关于我们
  showAbout() {
    wx.showModal({
      title: '关于轻日子',
      content: '轻日子是一款专注于断舍离和极简生活的小程序，帮助用户养成每日丢弃一件物品的好习惯。',
      showCancel: false
    })
  },

  // 意见反馈
  showFeedback() {
    wx.showModal({
      title: '意见反馈',
      content: '请通过以下方式联系我们：\n邮箱：feedback@lessday.com',
      showCancel: false
    })
  },

  // 分享小程序
  onShareAppMessage() {
    return {
      title: '轻日子 - 断舍离，极简生活',
      path: '/pages/index/index'
    }
  },

  // 退出登录
  logout() {
    wx.showModal({
      title: '确认退出',
      content: '退出登录后将无法查看个人数据',
      success: (res) => {
        if (res.confirm) {
          app.globalData.token = null
          app.globalData.userInfo = null
          wx.removeStorageSync('token')
          
          wx.showToast({
            title: '已退出登录',
            icon: 'success'
          })
          
          setTimeout(() => {
            wx.reLaunch({
              url: '/pages/index/index'
            })
          }, 1500)
        }
      }
    })
  }
})